package cn.buk.api.shdl.dto;

import com.fasterxml.jackson.annotation.JsonAlias;

import java.util.List;

public class PassengerPriceInfo {

  /**
   * 总价格（票价和税
   * 费）
   */
  private AmountInfo total;
  /**
   * 总票价（不含税）
   */
  private AmountInfo totalBase;
  /**
   * 总税费
   * 可为空，请求中includeIataTax
   * 为true 时返回
   */
  private AmountInfo totalTaxIata;
  /**
   * YQYR 费 可为空，请求中includeYqyr
   * 为true 时返回
   */
  private AmountInfo totalTaxYQYR;

  /**
   * 票价明细，包含组
   * 成票价的每一条
   * 可为空,请求中detailPricing 为
   * true 时返回票价明细
   */
  private List<AmountInfo> base;
  /**
   * 税费信息
   * 可为空,请求中detailPricing 为
   * true 时返回税费明细
   */
  private List<TaxInfo> tax;

  /**
   * 附加收费信息
   * 可为空，请求中
   * includeSurcharge 为true 时返
   * 回
   */
  private List<TaxInfo> surcharges;

  /**
   * 旅客行李信息
   * 可为空，按照solution 的航班
   * 先后顺序存放，即第N 个航班
   * 对应该数组中第N 个。行李有
   * 计重和计件两种方式
   */
  @JsonAlias("baggageInfo")
  private List<BaggageInfo> baggageInfoList;

  @JsonAlias("freeCarry-onBagInfo")
  private List<BaggageInfo> freeCarryOnBagInfoList;

  private GrossInfo grossInfo;


  public AmountInfo getTotal() {
    return total;
  }

  public void setTotal(AmountInfo total) {
    this.total = total;
  }

  public AmountInfo getTotalBase() {
    return totalBase;
  }

  public void setTotalBase(AmountInfo totalBase) {
    this.totalBase = totalBase;
  }

  public AmountInfo getTotalTaxIata() {
    return totalTaxIata;
  }

  public void setTotalTaxIata(AmountInfo totalTaxIata) {
    this.totalTaxIata = totalTaxIata;
  }

  public AmountInfo getTotalTaxYQYR() {
    return totalTaxYQYR;
  }

  public void setTotalTaxYQYR(AmountInfo totalTaxYQYR) {
    this.totalTaxYQYR = totalTaxYQYR;
  }

  public List<AmountInfo> getBase() {
    return base;
  }

  public void setBase(List<AmountInfo> base) {
    this.base = base;
  }

  public List<TaxInfo> getTax() {
    return tax;
  }

  public void setTax(List<TaxInfo> tax) {
    this.tax = tax;
  }

  public List<BaggageInfo> getBaggageInfoList() {
    return baggageInfoList;
  }

  public void setBaggageInfoList(List<BaggageInfo> baggageInfoList) {
    this.baggageInfoList = baggageInfoList;
  }

  public List<BaggageInfo> getFreeCarryOnBagInfoList() {
    return freeCarryOnBagInfoList;
  }

  public void setFreeCarryOnBagInfoList(List<BaggageInfo> freeCarryOnBagInfoList) {
    this.freeCarryOnBagInfoList = freeCarryOnBagInfoList;
  }

  public GrossInfo getGrossInfo() {
    return grossInfo;
  }

  public void setGrossInfo(GrossInfo grossInfo) {
    this.grossInfo = grossInfo;
  }

  public List<TaxInfo> getSurcharges() {
    return surcharges;
  }

  public void setSurcharges(List<TaxInfo> surcharges) {
    this.surcharges = surcharges;
  }
}
